1. Field
The following description relates to a flash memory apparatus and controlling method thereof, and more particularly, to a flash memory apparatus and method that reduces the operating time of the flash memory.
2. Description of Related Art
Examples of a storage device storing data include a magnetic disk, an optical disk, a semiconductor device, and the like. The physical characteristics and the optimal management methods are different for each type of storage device. Therefore, a management method that corresponds to the physical characteristics of a particular storage device is desired.
Conventionally, magnetic disks are widely used in a storage device. A read/write time of the magnetic disk takes an average of several milliseconds per kilobyte. Also, the read/write time of the magnetic disk varies, because an arrival time of an arm of the magnetic disk is different depending on a physical location of where data is stored.
Recently, a non-volatile memory device which takes a relatively short read/write time, consumes a small amount of power, and occupies a small amount of space, compared a magnetic disk, has been designed to replace the magnetic disk. The non-volatile memory device may electrically read, write, and erase data. The non-volatile memory device may be a semiconductor device that is able to maintain stored data even when power is cut off. A process that stores data in the non-volatile memory device is referred to as programming, writing, storing, and the like.
Programming with respect to the non-volatile memory device may be performed in page units and erasing may be performed in page units and/or in block units. A block unit may include one or more page units. A controller of the non-volatile memory device may provide a logical address to an external host or processor, and provide a physical address with respect to a non-volatile memory device. The controller may manage the non-volatile memory device using the physical address and may convert the physical address into the logical address. A layer where converting of the physical address and logical address is performed as described above is referred to as a flash translation layer (FTL).
An exemplary storage device using a flash memory that is a non-volatile memory device is a solid state drive (SSD). The SSD may include a plurality of flash memory chips and buses, a controller, and a memory that buffers a request from a host system.
When a first operation, for example, a read operation, a write operation, or the like, is performed with respect to the flash memory in the flash memory apparatus, such as the SSD, a controller or a CPU typically allocates a process to the operation until the performed operation is finished. After the first operation is finished, the CPU allocates a process to a second operation that is to be performed.